package util

import (
	"crypto/tls"
	"github.com/Exleryz/gorequest"
	"time"
)

// ProxyUrl 请求代理地址
// http://127.0.0.1:7890
var ProxyUrl string

func NewRequest(agent *gorequest.SuperAgent) *gorequest.SuperAgent {
	if agent == nil {
		agent = gorequest.New()
	}
	agent.
		// x509: certificate has expired or is not yet valid，将URL复制到浏览器也显示证书不可信任，但其实是能请求通过的。这个时候就需要设置client信任所有证书
		// 信任所有证书
		TLSClientConfig(
			&tls.Config{
				InsecureSkipVerify: true,
			}).
		// 这是一个全局超时时间
		Timeout(time.Minute*5).
		// 重试
		Retry(50, 1*time.Second)

	agent.
		// 这些数据是会被清空的
		AppendHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")

	if ProxyUrl != "" {
		agent = agent.Proxy(ProxyUrl)
	}

	return agent
}
